home *** CD-ROM | disk | FTP | other *** search
/ Wintainment 500 / Wintainment 500.iso / 012a / wisdom32 / wisdom32.exe / disk1 / SG.MS_ / SG.MS
Text File  |  1996-11-12  |  6KB  |  212 lines

  1. '**************************************************************************
  2. '*                       SCREEN GEMS SETUP
  3. '**************************************************************************
  4.  
  5. '$DEFINE DEBUG  ''Define for script development/debugging
  6.  
  7. '$INCLUDE 'setupapi.inc'
  8. '$INCLUDE 'msdetect.inc'
  9.  
  10. ''Dialog ID's
  11. CONST WELCOME       = 100
  12. CONST ASKQUIT       = 200
  13. CONST DESTPATH      = 300
  14. CONST EXITFAILURE   = 400
  15. CONST EXITQUIT      = 600
  16. CONST EXITSUCCESS   = 700
  17. CONST OPTIONS       = 800
  18. CONST APPHELP       = 900
  19. CONST BADPATH       = 6400
  20.  
  21. ''Bitmap ID
  22. CONST LOGO = 1
  23.  
  24. GLOBAL DEST$        ''Default destination directory.
  25. GLOBAL TDEST$        ''Default destination directory.
  26. GLOBAL OPTCUR$      ''Option selection from option dialog.
  27.  
  28. DECLARE SUB Install
  29. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  30. Declare Function ShowWindow Lib "User" (hWnd%, nCmdShow%) As Integer
  31.         
  32.         DIM hWnd%
  33.         DIM iRet%
  34.  
  35.  
  36. INIT:
  37.     CUIDLL$ = "mscuistf.dll"            ''Custom user interface dll
  38.     HELPPROC$ = "FHelpDlgProc"          ''Help dialog procedure
  39.  
  40.     SetBitmap CUIDLL$, LOGO
  41.     SetTitle "Screen YY - Words of Wisdom"
  42.         
  43.     '' Maximize the opening window
  44.     hWnd% = HwndFrame()
  45.     iRet% = ShowWindow(hWnd%, 3)
  46.  
  47.     szInf$ = GetSymbolValue("STF_SRCINFPATH")
  48.     IF szInf$ = "" THEN
  49.         szInf$ = GetSymbolValue("STF_CWDDIR") + "setup.INF"
  50.     END IF
  51.     ReadInfFile szInf$
  52.  
  53.     OPTCUR$ = "1"
  54.     DEST$ = "C:\windows"
  55.     TDEST$ = GetWindowsDir
  56.     DEST$ = MID$(TDEST$,1,LEN(TDEST$)-1)
  57.  
  58. '$IFDEF DEBUG
  59.     i% = SetSizeCheckMode(scmOnIgnore)    '' could use scmOff; def = scmOnFatal
  60.     WinDrive$ = MID$(GetWindowsDir, 1, 1)
  61.     IF IsDriveValid(WinDrive$) = 0 THEN
  62.         i% = DoMsgBox("Windows drive ('"+WinDrive$+"') is not a valid drive.", "DEBUG", MB_TASKMODAL+MB_ICONHAND+MB_OK)
  63.         GOTO QUIT
  64.     END IF
  65. '$ENDIF ''DEBUG
  66.  
  67.  
  68. WELCOME:
  69.     sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", APPHELP, HELPPROC$)
  70.     IF sz$ = "CONTINUE" THEN
  71.         UIPop 1
  72.     ELSE
  73.         GOSUB ASKQUIT
  74.         GOTO WELCOME
  75.     END IF
  76.  
  77. GETPATH:
  78.     SetSymbolValue "EditTextIn", DEST$
  79.     SetSymbolValue "EditFocus", "END"
  80. GETPATHL1:
  81.     sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", APPHELP, HELPPROC$)
  82.     DEST$ = GetSymbolValue("EditTextOut")
  83.  
  84.     IF sz$ = "CONTINUE" THEN
  85.         IF IsDirWritable(DEST$) = 0 THEN
  86.             GOSUB BADPATH
  87.             GOTO GETPATHL1
  88.         END IF
  89.         UIPop 1
  90.     ELSEIF sz$ = "REACTIVATE" THEN
  91.         GOTO GETPATHL1
  92.     ELSEIF sz$ = "BACK" THEN
  93.         UIPop 1
  94.         GOTO WELCOME
  95.     ELSE
  96.         GOSUB ASKQUIT
  97.         GOTO GETPATH
  98.     END IF
  99.  
  100.  
  101.     Install
  102.  
  103.  
  104. QUIT:
  105.     ON ERROR GOTO ERRQUIT
  106.  
  107.     IF ERR = 0 THEN
  108.         dlg% = EXITSUCCESS
  109.     ELSEIF ERR = STFQUIT THEN
  110.         dlg% = EXITQUIT
  111.     ELSE
  112.         dlg% = EXITFAILURE
  113.     END IF
  114. QUITL1:
  115.     sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
  116.     IF sz$ = "REACTIVATE" THEN
  117.         GOTO QUITL1
  118.     END IF
  119.     UIPop 1
  120.  
  121.     END
  122.  
  123. ERRQUIT:
  124.     i% = DoMsgBox("Setup sources were corrupted, call +61 3 888 6633", "Setup Message", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  125.     END
  126.  
  127.  
  128.  
  129. BADPATH:
  130.     sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
  131.     IF sz$ = "REACTIVATE" THEN
  132.         GOTO BADPATH
  133.     END IF
  134.     UIPop 1
  135.     RETURN
  136.  
  137.  
  138.  
  139. ASKQUIT:
  140.     sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
  141.  
  142.     IF sz$ = "EXIT" THEN
  143.         UIPopAll
  144.         ERROR STFQUIT
  145.     ELSEIF sz$ = "REACTIVATE" THEN
  146.         GOTO ASKQUIT
  147.     ELSE
  148.         UIPop 1
  149.     END IF
  150.     RETURN
  151.  
  152.  
  153.  
  154. '**
  155. '** Purpose:
  156. '**     Builds the copy list and performs all installation operations.
  157. '** Arguments:
  158. '**     none.
  159. '** Returns:
  160. '**     none.
  161. '*************************************************************************
  162. SUB Install STATIC
  163.  
  164.     SrcDir$ = GetSymbolValue("STF_SRCDIR")
  165.     CreateDir DEST$, cmoNone
  166.  
  167.     OpenLogFile MakePath(DEST$, "LOGFILE.TXT"), 0
  168.     WriteToLogFile ""
  169.     WriteToLogFile "  User chose as destination directory: '" + DEST$ + "'"
  170.     WriteToLogFile ""
  171.  
  172.     AddSectionFilesToCopyList "Files", SrcDir$, DEST$
  173.     CopyFilesInCopyList
  174.  
  175.     
  176.     CreateIniKeyValue TDEST$+"CONTROL.INI", "Screen Saver.Wisdom", "fonts", "10147", cmoOverwrite
  177.     CreateIniKeyValue TDEST$+"CONTROL.INI", "Screen Saver.Wisdom", "PWProtected", "0", cmoOverwrite
  178.     CreateIniKeyValue TDEST$+"CONTROL.INI", "Screen Saver.Wisdom", "FMAX", "50", cmoOverwrite
  179.     CreateIniKeyValue TDEST$+"CONTROL.INI", "Screen Saver.Wisdom", "SPEED", "45", cmoOverwrite
  180.     CreateIniKeyValue TDEST$+"CONTROL.INI", "Screen Saver.Wisdom", "UPTO", "0", cmoOverwrite
  181.     CreateIniKeyValue TDEST$+"CONTROL.INI", "Screen Saver.Wisdom", "RANDOM", "0", cmoOverwrite
  182.     CreateIniKeyValue TDEST$+"CONTROL.INI", "Screen Saver.Wisdom", "VER", "12/11/96", cmoOverwrite
  183.     CreateIniKeyValue TDEST$+"CONTROL.INI", "Screen Saver.Wisdom", "BFONTS", "0", cmoOverwrite
  184.     CloseLogFile
  185.  
  186. END SUB
  187.  
  188.  
  189.  
  190. '**
  191. '** Purpose:
  192. '**     Appends a file name to the end of a directory path,
  193. '**     inserting a backslash character as needed.
  194. '** Arguments:
  195. '**     szDir$  - full directory path (with optional ending "\")
  196. '**     szFile$ - filename to append to directory
  197. '** Returns:
  198. '**     Resulting fully qualified path name.
  199. '*************************************************************************
  200. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  201.     IF szDir$ = "" THEN
  202.         MakePath = szFile$
  203.     ELSEIF szFile$ = "" THEN
  204.         MakePath = szDir$
  205.     ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  206.         MakePath = szDir$ + szFile$
  207.     ELSE
  208.         MakePath = szDir$ + "\" + szFile$
  209.     END IF
  210. END FUNCTION
  211.  
  212.